/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package datos;

import java.util.*;
import logica.ComparaIDFuncion;

/**
 *
 * @author Cristian
 */
public class ListaFuncion
{
    private SortedSet <Funcion> miSet;

    private Comparator comparadorIDFuncion;

     public ListaFuncion()
    {
         comparadorIDFuncion = new ComparaIDFuncion();
         miSet = new TreeSet(comparadorIDFuncion);
    }

    public boolean agregarFuncion(Funcion objeto)
    {

        return miSet.add(objeto);
    }

   
     public Funcion obtenerFuncion(int posicion)
{
        Funcion registro = null;
        Object [] arreglo;
        int i;
        arreglo = miSet.toArray();

        if (posicion < miSet.size())
        {
            for(i=0; i<=posicion; i++)
            registro = (Funcion) arreglo[i];

            return registro;
        }

        return null;
    }

    public boolean removerFuncion(Funcion objeto)
    {
        return (miSet.remove(objeto));
    }

    public int getTamListaFuncion()
    {
        return miSet.size();
    }


     public void imprimirFuncion()
    {
        int i;
        Funcion registro;

        /*
         * Se define un arreglo de tipo Object (la clase genérica Java)
         */
        Object [] arreglo;

        /*
         * Se convierte la colección pasada como parámetro a un array, que
         * es asignado al arreglo de tipo Object
         */
        arreglo = miSet.toArray();

        System.out.println("DATOS");

        /*
         * Se hace un recorrido del arreglo de tipo Object y se imprime
         * la información de la casilla i
         */
        for(i=0 ; i<arreglo.length ; i++)
        {
            registro = (Funcion) arreglo[i];
            System.out.println("ID code. funcion: " + registro.getID());
            System.out.println();
        }

        System.out.println("\n\n");
    }

}
